home *** CD-ROM | disk | FTP | other *** search
/ BCI NET / BCI NET Dec 94.iso / archives / programming / languages / cleo.lzh / Cleo / examples / mandel.cl < prev    next >
Encoding:
Text File  |  1993-01-24  |  1.5 KB  |  64 lines

  1. program bigoudi;
  2.  
  3.  
  4.  
  5. var
  6.   i,j,nbx,nby:integer;
  7.   minx,maxx,miny,maxy,zx,zy,cx,cy,sv:real;
  8.   pasx,pasy:real;
  9.   k : integer;
  10.   ok : integer;
  11.  
  12. begin
  13.  
  14.      minx:=-2;   miny:=-1;
  15.      maxx:=1;    maxy:=1;
  16.  
  17.      nbx:=70;     { resolution en x }
  18.      nby:=20;     { resolution en y }
  19.  
  20.      pasx:=(maxx-minx)/nbx;
  21.      pasy:=(maxy-miny)/nby;
  22.  
  23.       j:=0;
  24.  
  25.       writeln('      Ensemble de Mandelbrot ( recursion 20 ), etonnant non ? ...');
  26.  
  27.      while j<nby do
  28.         begin
  29.             i:=0;
  30.             while i<nbx do
  31.                 begin
  32.                     k := 0; ok := 0;
  33.                     zx:=0; zy:=0;
  34.                     cx:= i*pasx+minx;
  35.                     cy:= j*pasy+miny;
  36.                     while  ok=0 do
  37.                         begin
  38.                             sv:= zx*zx-zy*zy+cx;
  39.                             zy:=2*zx*zy+cy;
  40.                             zx:=sv;
  41.                             k := k+1;
  42.                             if k>20 then ok := 2;
  43.  
  44.                             if sqr( zx*zx + zy*zy) > 2 then ok :=1;
  45.                         end;
  46.                     if  ok=1
  47.                     then begin
  48.                                     if k<5  then  write(' ')
  49.                                else if k<10 then  write('.')
  50.                                else if k<15 then  write('°')
  51.                                else               write('o');
  52.                          end
  53.  
  54.                     else write('0');
  55.  
  56.                     i:=i+1;
  57.                 end;
  58.             writeln;
  59.             j:=j+1;
  60.         end;
  61.  
  62. end.
  63.  
  64.